/*
 * @Author: Creator
 * @Date: 2020-10-06 15:47:32
 * @LastEditors: Creator
 * @LastEditTime: 2020-10-09 21:48:20
 * @Description: file content
 */
#include "dealfile.h"
#include <string.h>
// extern DoctorNode *DoctorList;
// extern PatientNode *PatientList;
// extern MedRecNode *MedRecList;
// deal doctor.json
// DoctorNode* createNullDoctorNode()
// {
//     DoctorNode* temp = (DoctorNode*)malloc(sizeof(DoctorNode));
//     temp->pre = temp->next = NULL;
//     return temp;
// }

// bool loadAll()
// {
//     FILE *system = NULL;
//     if(!(system = fopen("system.json","r")))
//     {
//         printf("Fail to open system.json\n");
//         return 0;
//     }
//     LastUpdateTime = readTime(system);
//     fclose(system);
//     printf("系统时间加载成功\n");
    
//     FILE *patienfile = NULL;
//     PatientList = loadPatientList();
//     fclose(patienfile);
//     printf("患者数据库加载成功\n");

//     FILE *doctorfile = NULL;
//     DoctorList = loadDoctorList();
//     fclose(doctorfile);
//     printf("医生数据库加载成功\n");

//     FILE *medicinefile;
//     MedRecList = loadMedRecList();
//     fclose(medicinefile);
//     printf("诊疗记录数据库加载成功\n");
    
//     return 1;
// }

// DoctorNode* createNullDoctorNode()
// {
//     DoctorNode *temp = (DoctorNode*)malloc(sizeof(DoctorNode));
//     temp->pre = temp->next = NULL;
//     return temp;
// }

// DoctorNode* readADoctor(FILE* fp)
// {
//     if(!fp)
//     {
//         printf("ERROR:Fail to read file!\n");
//         return 0;
//     }

//     DoctorNode* temp = createNullDoctorNode();
//     if(5 != fscanf(fp,"%s %s  %c %c %s",
//         temp->data.name,temp->data.ID_number,
//         &(temp->data.level),&(temp->data.subject),
//         temp->data.worknumber))
//     {
//         printf("ERROR:Fail to read\n");
//         return 0;
//     }
//     for(int i = 0;i < 7;i++)
//         fscanf(fp,"%d",&temp->data.ispresent[i]);
//     fscanf(fp,"%d",&temp->data.condition);
//     for(int i = 0;i < 12;i++)
//         for(int j = 0;j < 31;j++)
//             fscanf(fp,"%d",&temp->data.day_worktimes[i][j]);

//     //�˴���׳�Ի�����
//     return temp;
// }

// DoctorNode* loadDoctorList()
// {
//     FILE* fp = NULL;
//     if((fp = fopen("doctor.json","r")) == 0)
//     {
//         printf("ERROR:Fail to open doctor.json");
//         return 0;
//     }
//     fscanf(fp,"%d",&DoctorNum);
//     DoctorNode *DoctorList = readADoctor(fp);
//     DoctorNode *temp = DoctorList;
//     int num = 1;
//     while(!feof(fp) && num++ < DoctorNum)
//     {
//         temp->next = readADoctor(fp);
//         if(temp->next == NULL)
//         {
//             printf("ERROR: Can't read this Doctor\n");
//             return 0;
//         }
//         temp->next->pre = temp;
//         temp = temp->next;
//     }
//     fclose(fp);
//     return DoctorList;
// }

// bool writeADoctor(FILE *fp,DoctorNode *doctor)
// {
//     if(5 != fprintf(fp,"%s %s %c %c %s",
//         doctor->data.name,doctor->data.ID_number,
//         doctor->data.level,doctor->data.subject,
//         doctor->data.worknumber))
//     {
//         printf("ERROR:Fail to Write\n");
//         return 0;
//     }
//     else
//     {
//         return 1;
//     }

// }

// bool writeDoctorList(DoctorNode *DoctorList)
// {
//     FILE *fp = NULL;
//     if(!(fp = fopen("doctor.json","W")))
//     {
//         printf("ERROR:Fail to open doctor.json\n");
//         return 0;
//     }

//     DoctorNode* temp = DoctorList;
//     fprintf(fp,"%d ",DoctorNum);
//     int num = 0;
//     while(temp && num++ < DoctorNum)
//     {
//         if(!writeADoctor(fp,temp))
//         {
//             printf("ERROR:Fail to write Doctor NO.%d\n",num + 1);
//             return 0;
//         }
//         temp = temp->next;
//     }
//     fclose(fp);
//     return 1;
// }

// deal patient.json

// PatientNode* createNullPatientNode()
// {
//     PatientNode* temp = (PatientNode*)malloc(sizeof(PatientNode));
//     temp->pre = temp->next = NULL;
//     return temp;
// }

// PatientNode* readAPatient(FILE* fp)
// {
//     if (!fp)
//     {
//         printf("ERROR:Fail to read file!\n");
//         return 0;
//     }

//     PatientNode* temp = createNullPatientNode();
//     fscanf(fp, "%s %d %s", temp->data.name, &temp->data.age, temp->data.idetify_card);
//     return temp;
// }

// PatientNode* loadPatientList()
// {
//     FILE* fp = NULL;
//     if ((fp = fopen("patient.json", "r")) == NULL)
//     {
//         printf("ERROR:Can't open patient database!\n");
//         return 0;
//     }
//     fscanf(fp, "%d", &PatientNum);
//     PatientNode* PatientList = NULL;
//     PatientNode* temp = NULL;
//     PatientList = temp = readAPatient(fp);
//     int num = 1;                                                // 用于记录已经录入的数目
//     while (!feof(fp) && num++ < PatientNum)
//     {
//         temp->next = readAPatient(fp);
//         temp->next->pre = temp;
//         temp = temp->next;
//     }
//     temp->next = NULL;
//     fclose(fp);
//     return PatientList;
// }

// bool writeAPatient(FILE* fp, PatientNode* patient)
// {

//     if (3 != fprintf(fp, "%s %d %s \n", patient->data.name, patient->data.age, patient->data.idetify_card))
//     {
//         printf("ERROR:Fail to Write");
//         return 0;
//     }
//     else
//     {
//         return 1;
//     }

// }

// bool writePatientList(PatientNode* PatientList)
// {
//     FILE* fp = NULL;
//     if ((fp = fopen("patient.json", "w")) == 0)
//     {
//         printf("Can't open patient.json");
//         return 0;
//     }
//     PatientNode* temp = PatientList;
//     int num = 0;

//     if (fprintf(fp, "%d\n", PatientNum) != 1)
//     {
//         printf("ERROR: Fail to Write Patient Num");
//         return 0;
//     }
//     while (num++ < PatientNum && temp)
//     {
//         if (writeAPatient(fp, temp) == 0)
//         {
//             printf("ERROR: Fail to Write Patient NO.%d", num);
//             return 0;
//         }
//     }
//     fclose(fp);
//     return 1;
// }

// MedRecNode* createNullMedRecNode()
// {
//     MedRecNode *temp = (MedRecNode*)malloc(sizeof(MedRecNode));
//     temp->next = temp->pre = NULL;
//     return temp;
// }

// MedRecNode* readAMedRec(FILE *fp)
// {
//     MedRecNode *temp = createNullMedRecNode();
//     temp->data.Time = readTime(fp);
//     temp->data.patient = findPatientNode(PatientList,freadID(fp));
//     temp->data.doctor = find_Doctor(DoctorList,freadID(fp));
//     temp->data.dignosis.CheckCost = freadFloat(fp);
//     strcmp(temp->data.dignosis.hospital.patientid,
//             temp->data.patient->idetify_card);
//     temp->data.dignosis.hospital.in = readTime(fp);
//     temp->data.dignosis.hospital.preout = readTime(fp);
//     temp->data.dignosis.hospital.deposit = freadFloat(fp);
//     return temp;
// }

// MedRecNode* loadMedRecList()
// {
//     MedRecNode* medreclist;
//     FILE* fp = NULL;
//     if ((fp = fopen("medicalrecord.json", "r")) == NULL)
//     {
//         printf("ERROR:Can't open patient database!\n");
//         return 0;
//     }
//     fscanf(fp, "%d", &MedicalRecordNum);
//     MedRecNode* temp = NULL;
//     medreclist = temp = readAMedRec(fp);
//     int num = 1;                                                // 用于记录已经录入的数目
//     while (!feof(fp) && num++ < MedicalRecordNum)
//     {
//         temp->next = readAMedRec(fp);
//         temp->next->pre = temp;
//         temp = temp->next;
//     }
//     temp->next = NULL;
//     fclose(fp);
//     return medreclist;
// }